// Jest 测试框架的配置文件，定义 Jest 如何运行测试、处理文件以及配置各种选项。
// Jest 是一个流行的 JavaScript 测试框架，广泛用于前端项目的单元测试、集成测试和端到端测试。

module.exports = {
  // preset: '@vue/cli-plugin-unit-jest/presets/typescript-and-babel',                   // 使用 Vue CLI 插件提供的预设配置。
  // roots: ['<rootDir>/src'],           // 定义测试文件所在的根目录。
  // testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'],       // 指定要运行的测试文件的 glob 匹配模式。
  // transform: {                        // 定义如何转换文件（例如，使用 Babel 来处理 ES6+ 语法）。
  //   '^.+\\.tsx?$': 'ts-jest',
  //   '^.+\\.jsx?$': 'babel-jest'
  // },
  // moduleNameMapper: {                 // 映射模块名称到文件路径，可以用于模拟特定模块。
  //   '^@/(.*)$': '<rootDir>/src/$1'
  // },
  // setupFilesAfterEnv: ['<rootDir>/src/setupTests.js'],           // 在环境设置完成后运行的文件，通常用于设置全局变量或导入初始化代码。
  // testEnvironment: 'jsdom',                                      // 指定测试运行时的环境（例如，使用 jsdom 作为 DOM 环境）。
  // globals: {                                                     // 设置全局变量。
  //   'ts-jest': {
  //     tsConfig: '<rootDir>/tsconfig.test.json'
  //   }
  // },
  // collectCoverage: true,                                            // 是否收集测试覆盖率信息。
  // coverageDirectory: 'coverage',                                    // 覆盖率报告的输出目录。  
  // coveragePathIgnorePatterns: ['/node_modules/', '/__tests__/'],    // 忽略覆盖率统计的文件路径模式。
  // moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], // 指定模块文件扩展名。
  // moduleDirectories: ['node_modules', 'src'],                       // 指定模块搜索路径。
  // snapshotSerializers: ['enzyme-to-json/serializer'],               // 指定快照序列化器，用于将快照转换为可读的格式。
  // watchPlugins: [                                                   // 定义在 watch 模式下可用的插件。
  //   'jest-watch-typeahead/filename',
  //   'jest-watch-typeahead/testname'
  // ],
  // testTimeout: 10000                                                // 指定单个测试的最大运行时间。
 };